#define _CRT_SECURE_NO_WARNINGS
//作者：宋安康
#include<bits/stdc++.h>
using namespace std;
//二分法
// 高效的查找方法，通过将问题一分为二，迭代的缩小搜索范围
// 
//整数二分
// 
//浮点二分
// 在某个实数范围查找，实数域本来就是单调的
//二分答案
//int a[100];
//int main() 
//{
//	for (int i = 0; i < 100; i++)
//	{
//		a[i] = i;
//	}
//	int x = 78;
//	int l = 0;
//	int r = 100;
//	while (l+1 != r)
//	{
//		int mid = (l + r)/2;
//		if (a[mid] > x)
//		{
//			r = mid;
//		}
//		else
//		{
//			l = mid;
//		}
//
//	}
//	cout << l << '\n';
//	printf("hello world\n");
//	return 0;
//}

//int main() 
//{
//	int data[200];
//	for (int i = 0; i < 200; i++)
//	{
//		data[i] = 4 * i + 6;
//	}
//	int x;
//	cin >> x;
//	int l = -1;
//	int r = 199;
//	while (l+ 1!= r)
//	{
//		int mid = (l + r) / 2;
//		if (data[mid]>= x)
//		{
//			r = mid;
//		}else
//		{
//			l = mid;
//		}
//	}
//	cout << r << endl;
//	return 0;
//
//}

//int L, n, m;
//const int N = 5e4 + 9;
//int a[N];
//int check(int mid) 
//{
//	int res = 0;
//	for (int i = 1,last = 0; i <= n; i++)
//	{
//		if (a[i] - a[last] < mid) 
//		{
//			res++;
//			continue;
//		}
//		last = i;
//	}
//	return mid;
//}
//int main() 
//{
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> L >> n >> m;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> a[n];
//	}
//	long long l = 0, r = 1e9 + 5;
//	while (l+1 != r)
//	{
//		long long mid = (l + r) / 2; 
//		if (check(mid) <= m)
//		{
//			l = mid;
//		}
//		else
//		{
//			r = mid;
//		}
//	}
//	cout << l << endl;
//	return 0;
//}

//递归：函数直接或者间接调用自身的过程
//递归的出口
//将大问题分解为规模更小的问题
//使用递归解决每个问题
//通过递归终止条件来结束递归

//递归和循环的比较
//递归：直观，简洁，易于理解与实现
//循环：直接控制流程，效率高
//using ll = long long;
//const int N = 1e5 + 9;2
//const ll p = 1e9 + 7;
////带备忘录的递归
//ll dp[N];
//
//ll fib(int i) 
//{
//	if (dp[i])
//	{
//		return dp[i];
//	}
//	if (i<= 2)
//	{
//		return 1;
//	}
//	return dp[i] = (fib(i-1) + fib(i-2)) % p;
//}
//int main() 
//{
//	int n;
//	cin >> n;
//	cout << fib(n) << endl;
//	return 0;
//}

//位运算
//是一种对二进制数的位进行运算
//整数通过补码表示
//按位与&：都是1 就是1 
//两个数字做&运算，结果不会变大的
//按位或|：有一个是1 就是1 
//两个数字做|运算，结果不会变小的
//按位异或：相同是0，不同是1 
//两个数字有^运算，结果可以变大，也可以变小
//按位取反：0变1，1变0
//通常用于无符号整形，避免符号位干扰
//左移：将一个操作数的二进制向左移动，低位补0
//左移操作相当于对原数乘以2的幂次方的操作
//右移：将一个操作数的二进制向右移动，高位补0
//右移操作相当于对原数除以2的幂次方的操作


	//1、判断数字的奇偶性
	//x&1
	//结果为1说明是奇数，结果为0说明是偶数

	//2、获取二进制的某一位
	//x >> i & 1
	//结果必然为0或1 ，表示x的二进制表示的第i位

	//3、修改二进制中的某一位为1
	//x|（1<<i）

	//4、判断一个数字是否是2的幂次方
	//x&(x-1)

	//5、获取二进制位中最低位的1
	//lowbit(x) = x& -x
//int main() 
//{
//	unsigned int x;
//	cin >> x;
//	int ans = 0;
//	while (x)
//	{
//		if (x & 1)
//		{
//			ans++;
//		}
//		x >>= 1;
//	}
//
//	cout << ans << endl;
//
//	return 0;
//}

int main() 
{
	cout << "baibai" << endl;
	return 0;
}